//package com.ruan.utils;
//import io.jsonwebtoken.Jwts;
//import io.jsonwebtoken.SignatureAlgorithm;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.stereotype.Component;
//
//import java.util.Date;
//import org.springframework.stereotype.Component;
//
//@Component
//public class JwtTokenUtil {//JwtTokenUtil类负责生成Token、
//    // 从Token中获取用户名以及验证Token的有效性
//
//    @Value("${jwt.secret}")
//    private String secret;
////使用了@Value注解来注入配置文件中的jwt.secret和jwt.expiration属性，
//// 需要在配置文件（如application.properties或application.yml）中配置这些属性
//    @Value("${jwt.expiration}")
//    private Long expiration;
//
//    public String generateToken(String username) {
//        Date now = new Date();
//        Date expiryDate = new Date(now.getTime() + expiration);
//
//        return Jwts.builder()
//                .setSubject(username)
//                .setIssuedAt(now)
//                .setExpiration(expiryDate)
//                .signWith(SignatureAlgorithm.HS512, secret)
//                .compact();
//    }
//
//    public String getUsernameFromToken(String token) {
//        return Jwts.parser().setSigningKey(secret).parseClaimsJws(token).getBody().getSubject();
//    }
//
//    public boolean validateToken(String token) {
//        try {
//            Jwts.parser().setSigningKey(secret).parseClaimsJws(token);
//            return true;
//        } catch (Exception e) {
//            return false;
//        }
//    }
//
//}
